package com.yykj.user.center.server.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yykj.common.util.serializer.LocalDate2LongSerializer;
import com.yykj.common.util.serializer.LocalDate2StringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.UpdateTimestamp;

import javax.persistence.Column;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author chenl
 * @version 1.0
 * @date 2021/11/8 22:30
 */
@Data
public class MyConsultationDTO {
    private String id;

    @ApiModelProperty("病情描述")
    private String description;

    private String weight;

    private String height;

    @ApiModelProperty("名族")
    private String nameFamily;

    @ApiModelProperty("身份证号")
    private String idCard;

    @ApiModelProperty("血型")
    private String bloodTye;

    @ApiModelProperty("婚姻")
    private String marriage;

    @ApiModelProperty("生育")
    private String birth;

    @ApiModelProperty("过敏史")
    private String allergicHistory;

    @ApiModelProperty("现病史")
    private String medicalHistory;

    @ApiModelProperty("其他病史")
    private String otherMedicalHistory;

    @ApiModelProperty("家族病史")
    private String familyHistory;

    @ApiModelProperty("支付人的帐号ID")
    private String payAccountId;

    private Integer hospitalId;

    private String hospitalName;

    private Integer deptId;

    private String deptName;

    private String doctorId;

    private String doctorName;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime createTime;

    @ApiModelProperty("更新时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime updateTime;

    @ApiModelProperty("上午还是下午")
    private String morningOrAfternoon;

    @ApiModelProperty("订单类型：11、图文问诊 12、语音问诊 13、视频问诊 14、检查订单 15、检验订单")
    private Integer orderType;

    @ApiModelProperty("支付金额")
    private BigDecimal payAmount;

    @ApiModelProperty("就诊开始时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime startDatetime;

    @ApiModelProperty("就诊结束时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime endDatetime;

    @ApiModelProperty("支付时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime payTime;

    @ApiModelProperty("退款时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime refundTime;

    @ApiModelProperty("患者支付状态-1:取消,0:待支付,1:已支付")
    private Integer payStatus;

    @ApiModelProperty("患者退款状态-1:未退款,0:申请退款,1:已退款,2:退款失败")
    private Integer refundStatus;

    @ApiModelProperty("支付方式,1:微信,2:支付宝")
    private Integer payType;

    @ApiModelProperty("订单号")
    private String orderNo;

    @ApiModelProperty("就诊卡号ID")
    private String patientCardId;

    @ApiModelProperty("预约日期")
    private LocalDate date;

    @ApiModelProperty("就诊卡对应的名称")
    private String patientName;

    @ApiModelProperty("状态：0生成订单 1待接诊  2问诊中  3已完成 4已退款")
    private Integer state;

    @ApiModelProperty("性别")
    private String gender;

    @ApiModelProperty("图片集合")
    private List<String> imgs;

    private String birthday;

    private String sex;
}
